import { defineStore } from 'pinia'

export const useThemeStore = defineStore({
    id: 'theme-store',
    state: () => ({
		bgImage:uni.getStorageSync('bgImage') ||'linear-gradient(90deg, #ffffff, #ffffff )',
		// --primary-color 主色 			--assist-color 辅助颜色  			--accent-color 搭配颜色
		// --primary-bg-color 主背景色 		--assist-bg-color 辅助背景色			--accent-bg-color 搭配背景色
		// --primary-text-color 字体主色 	--assist-text-color 字体辅助色		--inverse-text-color 字体反色
		// --btn-bg-color 按钮背景色 		--btn-text-color 按钮字体色			--border-color 边框颜色
		Theme:uni.getStorageSync('theme') || `
			--primary-color:#000000;
			--assist-color:#dcdcdc;
			--accent-color:#009688;
			--primary-bg-color:#F9F9F9;
			--assist-bg-color:#F5F5F5;
			--accent-bg-color:#FFFFFF;
			--primary-text-color:#000000;
			--assist-text-color:#333333;
			--inverse-text-color:#ffffff;
			--btn-bg-color:#ffffff;
			--btn-text-color:#ffffff;
			--border-color:#EEEEEE;
			--statusBarHeight:${uni.getSystemInfoSync().statusBarHeight}px
		`,
		themeName:uni.getStorageSync('themeName') ||'默认主题'
    }),

    getters: {
		getbgImage() {
		    return this.bgImage
		},
		getTheme() {
			return this.Theme
		},
        getThemeName() {
            return this.themeName
        }
    },
    actions: {
		// 设置导航栏渐变背景
		setbgImage(bgImage){
			this.bgImage = bgImage
		},
		// 主题更换
		setTheme(Theme){
			// 将皮肤配置JSON转为以 ; 分割的字符串（style 值）
			let style = Theme.value.map((item,index)=>{
				return `${item.name}:${item.value}`
			}).join(";")
			uni.setStorageSync('theme',style)
			uni.setStorageSync('themeName',Theme.name)
			uni.setStorageSync('bgImage',Theme.bgImage)
			this.bgImage = Theme.bgImage
			this.themeName= Theme.name
			this.Theme = style
		}
    }
})